import { Component, OnInit, Input, OnDestroy, ViewChild } from "@angular/core";

import { ModalController, IonInfiniteScroll, AlertController } from "@ionic/angular";

import { Subscription } from "rxjs";

import { MessageService } from "src/app/shared/service/message.service";
import { HttpService } from "src/app/shared/service/http.service";


import { AppGlobalService } from "./../../shared/service/app-global.service";
@Component({
  selector: 'app-contract-list-filter',
  templateUrl: './contract-list-filter.component.html',
  styleUrls: ['./contract-list-filter.component.scss'],
})
export class ContractListFilterComponent implements OnInit, OnDestroy {

  // 组件数据
  @Input() tagData: any = {};
  // test: any = {
  //   "type": "tag",
  //   "style": "appContractListTag",
  //   "name": "appContractListTag",
  //   "linearLayout": "body",
  //   "data": {
  //     "data": [
  //       {
  //         "secondRowLeft_1": {
  //           "text": "转让|罗湖区蔡屋围餐馆"
  //         },
  //         "firstRowRight_1": {
  //           "cssStyle": "color:#858894;font-size:0.75rem",
  //           "text": "待审核"
  //         },
  //         "fourthRowLeft_1": {
  //           "text": "1000元 归属秋晓梦"
  //         },
  //         "link": {
  //           "type": "page",
  //           "params": {
  //             "contract_contract_id": "5e00d4565a200a0001b648be"
  //           },
  //           "target": "transfer_detail_page"
  //         },
  //         "secondRowLeft_2": {
  //           "cssStyle": "background:linear-gradient(270deg,rgba(255,99,20,1) 0%,rgba(255,149,0,1) 100%);",
  //           "text": "转让"
  //         },
  //         "fourthRowRight_1": {
  //           "text": "2019-12-23"
  //         },
  //         "firstRowLeft_1": {
  //           "text": "信息编号：2515"
  //         },
  //         "thirdRowLeft_1": {
  //           "text": "测试推广 13670239640"
  //         }
  //       },
  //       {
  //         "secondRowLeft_1": {
  //           "text": "转让|罗湖区蔡屋围餐馆"
  //         },
  //         "firstRowRight_1": {
  //           "cssStyle": "color:red",
  //           "text": "待审核"
  //         },
  //         "fourthRowLeft_1": {
  //           "text": "1000元 归属秋晓梦"
  //         },
  //         "link": {
  //           "type": "page",
  //           "params": {
  //             "contract_contract_id": "5e00d2fd5a200a0001b648bb"
  //           },
  //           "target": "transfer_detail_page"
  //         },
  //         "secondRowLeft_2": {
  //           "text": "转让"
  //         },
  //         "fourthRowRight_1": {
  //           "text": "2019-12-23"
  //         },
  //         "firstRowLeft_1": {
  //           "text": "信息编号：2514"
  //         },
  //         "thirdRowLeft_1": {
  //           "text": "测试推广 13670239640"
  //         }
  //       }
  //     ],
  //     "pageTotal": 939,
  //     "submit": {
  //       "id": "60cae015-4bde-4695-a695-45076739f9c7",
  //       "content": {
  //         "pageNo": "2"
  //       }
  //     },
  //     "pageNo": 1,
  //     "pageSize": 2
  //   },
  //   "title": null
  // };
  // 声明订阅对象
  subscription: Subscription = null;

  // 筛选及页面数据参数
  params: any = {};

  // 当前页数，默认1
  pageNo = 1;

  // size
  pageSize: number;

  // 数量
  pageTotal: number;

  listData: any;

  constructor(
    private appGlobalService: AppGlobalService,
    private message: MessageService,
    private http: HttpService,
    private modalController: ModalController
  ) {
  }

  ngOnInit() {

    console.log('ounselor-list data --->', this.tagData.data);
    // 初始化参数
    this.params = this.tagData.data.submit;
    this.params.sessionId = localStorage.getItem('sessionId');

    this.listData = this.tagData.data;

    this.pageSize = this.listData.pageSize;
    this.pageTotal = this.listData.pageTotal;
    if (this.appGlobalService.globalSubscription && this.appGlobalService.globalSubscription.closed === false) {
      this.appGlobalService.globalSubscription.unsubscribe();
    }
    if (!this.subscription && this.tagData.data.submit !== undefined) {
      // 获取筛选参数
      this.subscription = this.message.getMessage().subscribe(param => {
        console.log(param);
        if (param) {
          // // 重置当前页数
          this.pageNo = 1;
          // 参数
          this.params['content'] = param;
          // 页面数据参数
          this.params['content']['pageNo'] = this.pageNo;
          // 请求获取新数据
          this.http.post('application/submit', this.params, res => {
            // 请求数据成功
            if (res.success && res.data.data && res.data.data.length > 0) {
              // 筛选数据
              this.listData.data = res.data.data;
              // 自动回到顶部
              setTimeout(() => {
                const el = document.getElementById('ContractListFilterComponent0');
                el.scrollIntoView(true);
              }, 200);
            } else {
              this.listData.data = [];
              // 请求数据失败
              // this.appGlobalService.showToast(res.message, 2000, 'middle');
            }
          },
            err => {
              // 请求数据失败
              // this.appGlobalService.showToast(err.message, 2000, 'middle');
            });
        }
      });
    }
  }

  ngOnDestroy(): void {
    // 组件生命周期结束的时候，注销
    this.subscription.unsubscribe();
  }


  /**
   * 跳转
   */

  clickLink(obj) {
    if (!obj) {
      console.log('没有返回link-target');
    }
    const pageParams = {
      pageId: obj.target,
      params: obj.params,
      sessionId: localStorage.getItem('sessionId')
    };
    this.appGlobalService.goToForward(pageParams);
  }


  /**
   * TODO: 下拉刷新，保留
   *
   * @param {*} event
   * @memberof
   */
  doRefresh(event) {
  }

  /**
   * 上滑加载
   *
   * @param {*} event
   * @memberof
   */
  loadMoreData(event) {
    if (this.pageNo >= this.pageTotal) {
      // this.appGlobalService.showToast('没有数据了...', 1000, 'middle');
      // event.complete();
      event.target.disable = true;
      return;
    }
    // // 请求下一个页面
    this.pageNo = this.pageNo + 1;
    // // 参数
    this.params.content.pageNo = this.pageNo;
    // 请求获取新数据
    this.http.post('application/submit', this.params, res => {

      // 请求数据成功
      if (res.success) {
        const resList = res.data.data;
        // 追加返回数据
        if (resList && resList.length > 0) {
          // 追加数据
          resList.map(item => {
            this.listData.data.push(item);
          });
        } else {
          // 没有数据了
          // this.appGlobalService.showToast('没有数据了...', 1000, 'middle');
          event.target.disable = true;
        }
      } else {
        // 请求失败，更新当前页数
        this.pageNo = this.pageNo - 1;
        // 请求数据失败
        // this.appGlobalService.showToast(res.message, 2000, 'middle');
      }
      event.target.complete();

    }, err => {
      // 请求失败，更新当前页数
      this.pageNo = this.pageNo - 1;
      // 请求数据失败
      // this.appGlobalService.showToast(err.message, 2000, 'middle');
      event.target.disable = true;

    });

  }

}
